**Archiso** هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB . ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك. تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .

## Contents

*   [1 الإعداد](#.D8.A7.D9.84.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF)
*   [2 إعداد القرص الحي](#.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A)
    *   [2.1 تنصيب الحزم](#.D8.AA.D9.86.D8.B5.D9.8A.D8.A8_.D8.A7.D9.84.D8.AD.D8.B2.D9.85)
    *   [2.2 إضافة مستخدم](#.D8.A5.D8.B6.D8.A7.D9.81.D8.A9_.D9.85.D8.B3.D8.AA.D8.AE.D8.AF.D9.85)
    *   [2.3 إضافة ملفات إلى صورة القرص الحي](#.D8.A5.D8.B6.D8.A7.D9.81.D8.A9_.D9.85.D9.84.D9.81.D8.A7.D8.AA_.D8.A5.D9.84.D9.89_.D8.B5.D9.88.D8.B1.D8.A9_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A)
    *   [2.4 aitab](#aitab)
    *   [2.5 محمل الإقلاع](#.D9.85.D8.AD.D9.85.D9.84_.D8.A7.D9.84.D8.A5.D9.82.D9.84.D8.A7.D8.B9)
    *   [2.6 مدير تسجيل الدخول](#.D9.85.D8.AF.D9.8A.D8.B1_.D8.AA.D8.B3.D8.AC.D9.8A.D9.84_.D8.A7.D9.84.D8.AF.D8.AE.D9.88.D9.84)
*   [3 بناء ملف ISO](#.D8.A8.D9.86.D8.A7.D8.A1_.D9.85.D9.84.D9.81_ISO)
*   [4 استخدام ملف ISO](#.D8.A7.D8.B3.D8.AA.D8.AE.D8.AF.D8.A7.D9.85_.D9.85.D9.84.D9.81_ISO)
    *   [4.1 CD](#CD)
    *   [4.2 USB](#USB)
    *   [4.3 grub4dos](#grub4dos)
*   [5 See also](#See_also)

## الإعداد

**ملاحظة** البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64
. قبل البدء يجب عليك [تنصيب](/index.php/Pacman "Pacman")[archiso](https://www.archlinux.org/packages/?name=archiso) من [المستودعات الرسمية](/index.php/Official_repositories "Official repositories") بشكل آخر يمكنك الحصول عليه من [AUR](/index.php/AUR "AUR").

قم بإنشاء مجلد جديد لكي تعمل داخله , هذا المجلد يحتوي على جميع التعديلات الي ستجري على القرص الحي : `~/archlive` سيكون مناسباً .

```
$ mkdir ~/archlive

```

البرامج النصية الخاصة بالحزمة Archiso التي تم تنصيبها على الجهاز المُضيف host مسبقا يجب نقلها الى المجلد الجديد الذي تم إنشاؤه , Archiso يأتي "profiles" بنمطين : *releng* و *baseline*. , إذا اردت إنشاء قرص حي مُخصص بشكل كبير من Arch Linux يكون منصباً عليها جميع البرامج التي تريدها بالإضافة الى الإعددات قم باستخدم *releng*. وأما إذا أردت فقط إنشاء قرص إقلاعي بسيط لا يحتوي على برامج مسبقة التثبيت و يحوي الحد الأدنى من الإعدادات استخدم *baseline*. لذا حسب احتياجاتك قم بتنفيذ التعليمة التالية مستبدلاً كلمة 'PROFILE' وضع إحدى الكلمتين : **releng** أو **baseline**.

```
# cp -r /usr/share/archiso/configs/**PROFILE**/ ~USER/archlive

```

إذا كنت تستخدم نمط *releng* لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة [#إعداد القرص الحي](#.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A). أما إذا كنت تستخدم نمط *baseline* لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة [#بناء ملف ISO](#.D8.A8.D9.86.D8.A7.D8.A1_.D9.85.D9.84.D9.81_ISO).

## إعداد القرص الحي

هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص . الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :

	داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي

packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .

### تنصيب الحزم

عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية ***عظيمة القدر'** حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص .* الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .

**تلميحة :** يمكنك أيضا إنشاء مستودع محلي خاص بك **[custom local repository](/index.php/Custom_local_repository "Custom local repository")** أو باستخدام الحزم من [AUR](/index.php/AUR "AUR")/[ABS](/index.php/ABS "ABS"). , عليك فقط إضافة مستودعك المحلي في أعلى الملف **pacman.conf** للحصول على أولوية عن باقي المستودعات، ثم انطلق .

يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .([#التنصيب](#.D8.A7.D9.84.D8.AA.D9.86.D8.B5.D9.8A.D8.A8))

### إضافة مستخدم

توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة useradd المناسبة الى ملف rc.local أو عن طريق نسخ و تعديل الملفات التالية /etc/shadow, /etc/passwd, و /etc/group الطريقة الأخيرة سيتم اعتمادها بالشرح هنا . في البداية انسخ ملفات /etc/shadow, /etc/passwd, و /etc/group من النظام المُضيف **host** الذي تستخدمه في بناء القرص الحي إلى المجلد /etc/ **الخاص بالنظام الجديد على القرص الحي** : والذي ينبغي أن يكون /archlive/releng/root-image/etc/~.

```
# cp /etc/{shadow,passwd,group} ~/archlive/releng/root-image/etc/

```

**تحذير:**  : ملف shadow الذي قمت بنسخه يحتوي على كلمة المرور الخاصة بك و التي سيستخدمها مُستخدم القرص الحي , لذا يُفضل تغيير كلمة المرور الخاصة بك قبل نسخ ملف shadow على القرص الحي ، قم بتغيير كلمة مرور النظام المضيف التي تريد أن يستخدمها مستخدم القرص الحي، ثم بعدها قم بالعودة إلى كلمة السر خاصتك.

### إضافة ملفات إلى صورة القرص الحي

**ملاحظة :** يجب أن تكون مستخدماً مديراً للنظام (مستخدم جذر root) للقيام بهذه **المهمة , لا تقم بتغيير ملكية أي ملف تقوم بنسخه .** **جميع الملفات** الموجودة داخل المجلد الجذر / يجب أن تكون مملوكة للمستخدم root سيتم فرز الملكيات في وقت قصير.

إن مجلد root-image يُمثل صندوقاً يحتوي على الملفات الموجودة في اعتبره كالمجلد الجذر '/' في نظامك الحالي، لذا كل الملفات التي تضعها في هذا المجلد سيتم نسخها على القرص الحي لذا في حال كان لديك نسخة من برامج النصية iptables على نظامك الحالي الخاصة ببرنامج و أردت إستخدامها في القرص الحي يمكنك نسخها باستخدام التعليمة التالية :

```
# cp -r /etc/iptables ~/archlive/releng/root-image/etc

```

لكن وضع الملفات داخل مجلد المنزل للمستخدمين مختلف قليلاً حيث لا يمكن وضعهم مباشرة ضمن المجلد root-image/home , وإنما ستقوم بإنشاء مجلد skel داخل root-image وتقوم بوضع الملفات هناك وبعد ذلك تقوم بإضافة التعليمات المناسبة لملف rc.local التي تقوم بنسخ هذه الملفات الى مجلد المنزل الخاص بالمستخدم عند الإقلاع و تقوم بإعطاء الصلاحيات المناسبة لها . في البداية أنشئ مجلد skel ويجب عليك التأكد من أنك داخل المجلد : /archlive/releng/root-image/etc/~ (إذا كنت تعمل من خلاله):

1.  cd ~/archlive/releng/root-image/etc && mkdir skel

الآن قم بنسخ الملفات الموجودة داخل مجلد المنزل 'home' في النظام المُضيف الى داخل مجلد skel , تذكر بأنه يجب عليك تطبيق جميع التعليمات كمستخدم جذر root فمثلا بخصوص ملف bashrc :

```
# cp ~/.bashrc ~/archlive/releng/root-image/etc/skel/

```

لآن داخل مجلد root-image/etc/ قم بإنشاء ملف rc.local **وتأكد** من أنك أعطيت الملف صلاحيات التنفيذ

```
# cd ~/archlive/releng/root-image/etc && touch rc.local && chmod +x rc.local

```

الآن قم بإضافة السطور التالية الى ملف rc.local مُستبدلاً كلمة 'youruser' باسم المستخدم الذي قُمت بتحديده

1.  قم بإنشاء مجلد المستخدم للجلسة الحية

```
if [ ! -d /home/**youruser** ]; then
    mkdir /home/**youruser** && chown **youruser** /home/**youruser**
fi

```

1.  انسخ الملفات إلى مجلد المنزل.

```
su -c "cp -r /etc/skel/.* /home/**youruser**/" **youruser**

```

### aitab

الملف الافتراضي يجب أن يعمل بشكل جيد , لذا لا تقم بتعديله . ملف aitab يحتوي معلومات حول حول انظمة الملفات الخاصة بالصور التي يتم إنشاءها بواسطة mkarchiso ويتم وصلها -mount- في مرحلة initramfs من خلال خطاف archiso hook. وهي تتألف من بعض الحقول التي تُحدد سلوك الصور

```
# <img>         <mnt>                 <arch>   <sfs_comp>  <fs_type>  <fs_size>

```

	<img>

	اسم الصورة بدون لاحقة (.fs .fs.sfs .sfs).

	<mnt>

	نقظة الوصل.

	<arch>

	المعماريات{ i686 | x86_64 | any }.

	<sfs_comp>

	نوع ضغط نظام الملفات SquashFS { gzip | lzo | xz }.

	<fs_type>

	ضع نوع نظام الملفات الخاص بالصورة { ext4 | ext3 | ext2 | xfs }.قيمة خاصة من "none" يدل على عدم استخدام أي نظام الملفات

توضع الملفات مباشرة إلى نظام ملفات في هذه الحالة SquashFS.

	<fs_size>

	بايت الصورة قيمة محددة لحجم نظام ملفات بالميجا (مثال : 100, 1000, 4096, إلخ)

قيمة بديلة للمساحة الخالية على نظام الملفات [بالنسبة المئوية] {1%..99%} (مثال 50%, 10%, 7%).هذه قيمة تقديرية وتحسب بطريقة بسيطة المساحة المستخدمة + 10% (مقدرة للحمل الزائد) + المطلوب %

**Note:** Some combinations are invalid. Example both sfs_comp and fs_type are set to none

### محمل الإقلاع

الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .

بسبب الطبيعة الواحدية لـ isolinux , فيمكنك استخدام العديد من الإضافات لطالما جميع ملفات *.c32 تم نسخها و هي متوفرة لديك و يمكنك إلقاء نظرة سريعة على [الرسمي syslinux موقع](http://syslinux.zytor.com/wiki/index.php/SYSLINUX) بالإضافة الى [archiso git repo](https://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files). باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال [هنا](http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32).

### مدير تسجيل الدخول

تشغيل X في زمن الإقلاع كان يتم عن طريق تعديل inittab في الأنظمة التي تعتمد على sysvinit , في انظمة systemd يتم تفعيل ذلك عن طريق تفعيل خدمة تسجيل الدخول الخاصة بك . إذا كنت تعرف أي ملف .service يحتاج الى رابط softlink فهذا شيئ جيد , أما إذا لم تكن تعرف ذلك فيمكنك ببساطة إيجاده إذا كنت الخدمة ذاتها في النظام المُضيف الذي تقوم بإنشاء القرص الحي عليه فقط قم بتنفيذ التعليمة التالية

```
# systemctl disable **nameofyourloginmanager**

```

لكي توقف عمله مؤقتاً . الآن قم بإعادة كتابة التعليمة السابقة مع إستبدال كلمة disable بكلمة enable لإعادة تفعيلها مرة اخرى , Systemctl يقوم بإظهار معلومات عن الروابط التي يقوم بإنشاءها . الآن إنتقل الى المجلد ~/archiso/releng/root-image/etc/systemd/system وقم بإنشاء الرابط softlink ذاته

```
# ln -s /usr/lib/systemd/system/lxdm.service display-manager.service

```

التعليمة السابقة ستقوم بتفعيل واجهة LXDE كواجهة إفتراضية للنظام الحي .

## بناء ملف ISO

الآن انت جاهز لتحويل ملفاتك الى صورة قرص من صيغة ISO و من ثم حرقها على إسطوانة CD أو على USB , داخل المجلد الذي تعمل فيه سواءً كان ~/archlive/releng, أو ~/archlive/baseline قم بتنفيذ التعليمة التالية :

```
# ./build.sh -v

```

البرنامج النصي سيقوم الآن بتحميل و تنصيب الحزم التي قُمت بتحديدها , يقوم بإنشاء صور للنواة و init , و تطبيق تعديلاتك ومن ثم يقوم ببناء ملف ISO في مجلد out/

## استخدام ملف ISO

### CD

يمكنك حرق ملف ISO الى قرص cd , يمكنك إتباع دليل [CD Burning](/index.php/CD_Burning "CD Burning") كما تريد .

### USB

يمكنك نسخ ملف ISO الى قرص USB عن طريق تعليمة dd :

```
# dd if=~/archlive/releng/out/*.iso of=/dev/sdx

```

عليك تعديل التعليمة السابقة لكي توافق إحتياجاتك , لكن يجب التنبيه أن خطأ صغير في القسم الثاني من التعليمة يمكن أن يؤدي الى فقدان المعلومات في القرص الصلب

### grub4dos

الأداة grub4dos تسمح لك بإنشاء USB مُتعددة الإقلاع يمكنها الإقلاع من أكثرمن توزيعة linux على USB ذاتها .

لإقلاع القرص الحي الذي قمت بإنشاءه من USB تحوي على grub4dos مُنصب مسبقاً عليك وصل ملف iso الذي قمت بإنشاءه loop mount و من ثم تقوم بنسخ المجلد `/arch` بكافة محتوياته الى المجلد الرئيسي للـ USB . ثم تقوم بتعديل ملف `menu.lst` الخاص ببرنامج grub4dos و إضافة الأسطر التالية :

```
title Archlinux x86_64
kernel /arch/boot/x86_64/vmlinuz archisolabel=<your usb label>
initrd /arch/boot/x86_64/archiso.img

```

قم بتعديل x86_64 حسب المعمارية التي تستخدمها و قم بوضع اسم قرص USB الخاص بك عوضاً عن <your usb label> .

## See also

*   [Archiso project page](https://projects.archlinux.org/?p=archiso.git;a=summary)
*   [Archiso as pxe server](/index.php/Archiso_as_pxe_server "Archiso as pxe server")
*   [Step-by-step tutorial on using ArchISO](https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb)
*   [A live DJ distribution powered by ArchLinux and built with Archiso](http://didjix.blogspot.com/)